/* Autore: Nicola Agosti */
/*
Scrivere un programma che chieda all'utente di inserie un anno e detemini se questo è bisestile o meno.

N.B. Un anno è bisestile se è divisibile per 4 ma non è un anno secolare (divisibile per 100) o se è divisibile per 400.
*/

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>

int main()
{
	/* Dichiarazione delle variabili */
	int anno;

	/* Input */
	printf("Inserisci l'anno: ");
	scanf("%d", &anno);

	/*
	Verifico se "anno" è divisibile per 4 => il resto della divisione è uguale a zero.
	Per calcolare il resto della divisione il C usa l'operatore "%".
	*/
	if (anno % 4 == 0)
	{
		/* "anno" è divisibile per 4 => potrebbe essere bisestile */
		
		/* Verifico se è un anno secolare (divisibile per 100) */
		if (anno % 100 == 0)
		{
			/* "anno" è bisestile solo se è divisibile per 400 */
			if (anno % 400 == 0)
			{
				/* "anno" è divisibile per 400 => è bisestile */
				printf("\nL\'anno %d e\' bisestile.", anno);
			}
			else
			{
				/* E' un anno secolare non divisibile per 400 => NON è bisestile */
				printf("\nL\'anno %d NON e\' bisestile.", anno);
			}
		}
		else
		{
			/* Non è un anno secolare => è bisestile */
			printf("\nL\'anno %d e\' bisestile.", anno);
		}
	}
	else
	{
		/* "anno" non è divisibile per 4 (e quindi neanche per 400) => NON è bisestile */
		printf("\nL\'anno %d NON e\' bisestile.", anno);
	}

	return 0;
}